Web document based graphical user interface

ABSTRACT

A Web document based GUI for use on a client computer that is networked with server computers. The GUI enables a user of the client computer to initiate specific operations that are performed on the client computer and that define a particular application. The GUI comprises GUI Web documents and a Web browser. Each GUI Web document is located at the client computer or one of the server computers and comprises one or more links and one or more applets. Each link provides a link to a corresponding GUI document when selected by the user with the client computer while being displayed on the client computer. Each respective applet generates, when executed on the client computer, an interactive image that is displayed on the client computer. The user can initiate a respective operation (i.e., one of the GUI&#39;s specific operations) by acting on the interactive image with the client computer to invoke the respective applet to perform the respective operation on the client computer. The Web browser runs on the client computer and, each time a displayed link of a displayed GUI Web document has been selected by the user with the client computer, loads in, if not already loaded, and displays on the client computer the corresponding GUI Web document. The Web browser displays the corresponding GUI web document by executing each of the one or more applets of the corresponding GUI Web document and displaying on the client computer the corresponding interactive image and by displaying on the client computer the one or more links of the corresponding GUI Web document. The Web browser comprises an editor that edits on the client computer certain GUI Web Documents by adding and/or removing applets and links from the certain GUI Web documents. In this way, the GUI can be customized.

The present invention relates generally to graphical user interfaces(GUIs). In particular, it pertains to a GUI comprising interactive GUIWeb documents and a Web browser for loading, displaying, and editing theinteractive GUI Web documents.

BACKGROUND OF THE INVENTION

GUIs are well known mechanisms by which users can interact with computerprograms. A typical GUI provides windows and/or dialog boxes that enablea user to initiate an operation by the computer program on the user'scomputer. For example, a user of a word processing program can open aspell checking dialog box by selecting a spell checking icon from atoolbar in the word processing program's window. However, this type ofGUI design suffers from several significant problems.

Specifically, programs with the type of GUI just described are providedin standard packages with specific predetermined operations. In otherwords, the user is not able to customize and/or extend the GUI byediting it so as to add or remove specific operations that the userdesires or does not desire. Moreover, since the programs are provided instandard packages, each time an upgrade is made to the program, the usermust install the upgrade on the network or computer hosting the program.

Therefore, there is a need for a graphical user interface that iseditable and can be upgraded easily without user involvement. The WorldWide Web (WWW), which links many of the Web server computers making upthe Internet, supports these features. The Web server computers storedocuments identified by unique universal resource locators (URLs). Manyof the documents stored at these Web server computers are written in astandard document description language called hypertext markup language(HTML). Using HTML, a designer of a Web document can create displayablehypertext links in the Web document that also identify the URLs of otherWeb documents. When selected, the hypertext links provide links tocorresponding Web documents at other Web server computers based on theURLs they identify.

A user accesses Web documents stored on the WWW using a Web browser (acomputer program designed to display HTML documents and communicate withWeb servers) running on a Web client computer connected to the Internet.This is done when the user selects a displayed hypertext link within aWeb document currently being viewed with the Web browser. The Webbrowser then issues a hypertext transfer protocol (HTTP) request for therequested Web document to the Web server computer identified by theselected hypertext link. In response, the designated Web server computerreturns the requested Web document to the Web browser with the HTTP.

The standard HTML syntax of Web pages and the standard communicationsprotocol (HTTP) supported by the WWW guarantee that any Web browser cancommunicate with any Web server. However, until the invention of theJava programming language and Java applets (i.e., programs written inthe Java programming language that are part of a Web document), therewas no way to provide platform independent programs over the Internetand the WWW.

An important feature of the Java programming language is the platformindependence of Java applets written in the Java language and compiledinto Java bytecode. This means that such programs can be executed on anycomputer having a Java virtual machine module where the Java virtualmachine module interprets the Java applets for execution on the specificplatform of the computer.

Another important feature of Java applets is the verifiability of theirintegrity by a Java virtual machine module prior to their execution. TheJava virtual machine module determines whether Java applets conform topredefined stack usage and data usage restrictions to ensure that Javaapplets cannot overflow or underflow the virtual machine module's stackand utilize only data of known data types. As a result, Java appletscannot create object pointers and generally cannot access systemresources other than those resources which the user explicitly grants itpermission to use. Consequently, when Java applets are downloaded to aclient computer, a Web browser that is running on the client computerand has a Java virtual machine module will be able to verify and thenexecute the downloaded applets.

Thus, the WWW clearly supports an environment for a GUI that is based onWeb documents. However, to date, interactive GUI Web documents have notyet been created nor have Web browsers been configured with an editor toenable editing of Web documents located at remote Web server computers.

SUMMARY OF THE INVENTION

In summary, the present invention is a Web document based GUI for use ona client computer that is networked with server computers. The GUIenables a user of the client computer to initiate specific operationsthat are performed on the client computer and that define a particularapplication. The GUI comprises GUI Web documents and a Web browser.

Each GUI Web document is located at the client computer or one of theserver computers and comprises one or more links and one or moreapplets. Each link provides a link to a corresponding GUI document whenselected by the user with the client computer while being displayed onthe client computer. Each respective applet generates, when executed onthe client computer, an interactive image that is displayed on theclient computer. The user can initiate a respective operation (i.e., oneof the GUI's specific operations) by acting on the interactive imagewith the client computer to invoke the respective applet to perform therespective operation on the client computer.

The Web browser runs on the client computer and, each time a displayedlink of a displayed GUI Web document has been selected by the user withthe client computer, loads in, if not already loaded, and displays onthe client computer the corresponding GUI Web document. The Web browserdisplays the corresponding GUI web document by executing each of the oneor more applets of the corresponding GUI Web document and displaying onthe client computer the corresponding interactive image and bydisplaying on the client computer the one or more links of thecorresponding GUI Web document.

The Web browser comprises an editor that edits on the client computercertain GUI Web Documents by adding and/or removing applets and linksfrom the certain GUI Web documents. In this way, the GUI can becustomized.

The GUI Web documents are HTML Web documents. Thus, those of the GUI Webdocuments located at the sever computers are loaded to the clientcomputer according to the HTTP.

Moreover, the one or more applets of each GUI Web document are writtenin a platform independent programming language. As a result, the Webbrowser includes a virtual machine module that verifies the integrityof, interprets, and then executes on the client computer the applets. Inthe preferred embodiment, the platform independent programming languageis the Java programming language and the virtual machine module is aJava virtual machine module.

BRIEF DESCRIPTION OF THE DRAWINGS

Additional objects and features of the invention will be more readilyapparent from the following detailed description and appended claimswhen taken in conjunction with the drawings, in which:

FIG. 1 is a block diagram of a computer network providing a Web documentbased GUI in accordance with the present invention.

FIG. 2 is a functional block diagram of the operation of the Webdocument based GUI.

FIG. 3 is a functional block diagram of editing the Web document basedGUI.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to FIG. 1, there is shown a computer network 100 providing aWeb document based GUI in accordance with the present invention. Itincludes one or more client computers 102, one or more server computers104, and network interconnections 106.

The client computers 102 are connected to the server computers 104 viathe network interconnections 106. The network interconnections may be alocal or wide area network, the Internet, or some other types of networkinterconnections.

Each server computer 104 includes a central processing unit (CPU) 110,user input devices 112 and 113, a display 114, a network interface 116,and a memory 118. The network interface enables each server computer tocommunicate with the client computers 102 via the networkinterconnections 106.

The memory 118 of each server computer 104 stores an operating system120, a Web server 122, and Web documents 150. The operating system andWeb server are run on the CPU 110. The operating system controls andcoordinates running of the Web server. This may be in response tocommands issued by a user with the user input devices 112 and 113 insetting up the Web server to download the Web documents. And, it may bein response to requests received by the network interface 116 via thenetwork interconnections 106 from users of the client computers 102 fordownloading the Web documents to the client computers. In the preferredembodiment, the Web documents are HTML Web documents and the Web serveris an HTTP server for downloading the HTML documents according to theHTTP.

Each client computer 102 includes a central processing unit (CPU) 126,user input devices comprising a mouse 128 and a keyboard 129, a display130, a network interface 132, a secondary memory 133, and a primarymemory 134. The network interface enables the client computer tocommunicate with the server computers 104 via the networkinterconnections 106.

The primary memory 134 of each client computer system 102 stores anoperating system 138 and a Web browser 140 which may be both loaded fromthe secondary memory 133. Alternatively, they may be downloaded loadedfrom one of the server computers 104 via the network interconnections106. The primary memory also stores the Web documents 150 that have beeneither downloaded from the server computers 104 and/or loaded from thesecondary memory. The operating system and Web browser are executed onthe CPU 126. The operating system controls and coordinates execution ofthe Web browser in response to commands issued by a user with the mouse128 and/or keyboard 129 for downloading the Web documents 150 from thesever computers and/or loading them from the secondary memory. In thepreferred embodiment, the Web browser is a HotJava (a trademark of SunMicrosystems) Web browser or Java compatible Web browser that includes aJava virtual machine module.

The GUI Web documents 150 and the Web browser 140 together comprise aset of computer-readable modules that are suitable for transmission overthe network interconnections 106 and form a unique and novel Webdocument based GUI that is supported by the network 100. The GUI enablesthe user of a client computer 102 to initiate specific operations on theclient computer that define a particular application, such as a wordprocessing application for editing a word processing document.

Specifically, referring to FIG. 2, each GUI Web document 150 can bedisplayed on the display 130 by the display manager 142 of the Webbrowser 140 via the display driver (not shown) of the operating system138. Also displayed on the display is a mouse arrow 144 and/or cursor146. This is done via the display driver and a mouse and/or keyboarddriver (not shown) of the operating system. Moreover, each GUI Webdocument is interactive in that, when it is displayed, the user can usethe mouse 128 and/or keyboard 129 to move the mouse arrow and/or cursorover the displayed GUI Web document and initiate one or more of thespecific operations of the GUI on the client computer 102. In otherwords, each GUI Web document defines one or more of the specificoperations of the GUI.

For example, in the case where the GUI defines a word processingapplication, one of the GUI Web documents 150 may provide operations forinserting, deleting, cutting, and/or pasting text in a word processingdocument. Other GUI Web documents could provide operations for spellchecking, equation editing, helping, etc.

Like most Web documents, each GUI Web document 150 may include text 152and non-interactive (non-IA) images 154. Thus, when the GUI Web documentis displayed, any text and non-IA images are displayed by the displaymanager 142 of the Web browser 140 in the conventional way. The text andnon-IA images may provide information that characterizes and/ordescribes the particular GUI operations provided by the GUI Webdocument.

However, each GUI Web document 150 also includes one or more applets 156that make it interactive. When the GUI Web document is displayed, thedisplay manager 142 executes each applet. In response, each appletgenerates a corresponding interactive (IA) image 160 that is displayedby the display manager via the display driver of the operating system138. When displayed, each IA image enables a user to initiate one of theoperations of the GUI each time the user uses the mouse 128 or keyboard129 in a corresponding way when the displayed mouse arrow 144 or cursor146 is over the displayed IA image. This invokes the applet thatgenerated the IA image and the applet performs the correspondingoperation on the client computer 102 and updates the IA image fordisplay by the display manager.

Thus, in the example where one of the GUI Web documents 150 providesoperations for inserting, deleting, cutting, and/or pasting text in aword processing document, this GUI Web document would include an applet152 which generates an IA image 160 of the word processing document.And, when the IA image is acted on by the user with the mouse 128 and/orkeyboard 129, the applet that generates the IA image is invoked so thatthe user is able to insert, delete, cut, and/or paste text in the wordprocessing document using the mouse and/or keyboard. Additionally, thisGUI web document could have a toolbar with operations for selectingfonts and inserting page numbering. The GUI Web document would includean applet which generates an IA image listing the selectable fonts andan applet which generates an IA image providing various page numberingoptions. Thus, when these IA images are acted on by the user with themouse 128 and/or keyboard 129, the applets that generates the IA imagesare invoked so that the user is able to select a font or page numberingoption which may then be provided to the main applet generating the IAimage of the word processing document for display in the word processingdocument.

As mentioned earlier, the Web browser 140 is, in the preferredembodiment, a HotJava Web browser or a Java compatible Web browser.Thus, in the preferred embodiment, the applets 156 are Java applets andthe display manager 142 of the Web browser includes a Java virtualmachine module for verifying, interpreting, and then executing on theclient computer 102 the Java applets.

Each GUI Web document 150 is also interactive in that it includes one ormore interactive links 158 that are displayed by the display manager 142when the GUI Web document is displayed. Each link provides a link to acorresponding GUI Web document when it is selected with the mouse 128when the displayed mouse arrow 144 is moved with the mouse over thelink.

When this occurs and the corresponding GUI Web document 150 has alreadybeen loaded into the primary memory 134, then the display manager 142displays it on the display 130 in the manner described earlier. But, ifthe GUI Web document has not yet been loaded into the primary memory134, then the load manager 148 does so and the display manager thandisplays it on the display. As mentioned earlier, the GUI Web documentmay be loaded from one of the Web sever computers 104 or the secondarymemory 133 of the client computer 102 depending on where it is located.Additionally, the initial GUI Web document of the GUI may be loaded, inthe manner just described, when the user uses the mouse 128 and/orkeyboard 129 and the Web browser's own GUI to specify the URL of the GUIWeb document. The Web browser's own GUI is displayed on the display bythe display manager.

Thus, in the examples given earlier where the GUI defines a wordprocessing application, the GUI Web document 150 that providesoperations for inserting, deleting, cutting, and/or pasting text in aword processing document may have a toolbar with a link 158 to a GUI Webdocument that provides operations for spell checking. In addition, thetoolbar of this GUI Web document could have another link to a GUI Webdocument that provides operations for equation editing and even anotherlink to a GUI Web document that provides operations and/or text forhelping (i.e., explaining to) the user to perform the text inserting,deleting, cutting, and/or pasting operations of the GUI Web documentwith the link. Similarly, each of the linked GUI Web documents couldhave similar links to other GUI Web documents.

In this way, all of the GUI Web documents 150 of the GUI are linkedtogether so that a user may move back and forth between them. Thus, whena user wishes to initiate a specific operation of the GUI, the userlocates the appropriate GUI Web document defining the operation by usingthe links of other GUI Web documents. The user then initiates thedesired operation in the manner described earlier.

In view of the foregoing, the GUI Web documents 150 and the Web browser140 together comprise a GUI that defines an entire application withlinked specific operations and additionally may include a linked helpsystem. Moreover, as alluded to earlier and referring to FIG. 3, the GUIcan be edited by a user with the editor 149 of the Web browser 140. Thisis done by editing the GUI Web documents 150.

In order to edit a GUI Web document 150, a user downloads the GUI Webdocument in the manner described earlier. As was described earlier, thisis done with the mouse 128 and/or keyboard 129 by selecting a displayedlink 160 in another GUI Web document or specifying its URL address usingthe Web browser's own displayed GUI.

Then, the user selects with the mouse 128 and/or keyboard 129 theediting mode using the Web browser's own GUI. In response, the displaymanager 142 invokes the editor 149. The editor enables the user to editthe downloaded GUI Web document by inserting and/or deleting text 152,non-IA images 154, applets 156, and links 158.

After any GUI Web documents 150 are edited, they are then re-located bythe load manager at either a pre-existing URL or a new URL. This URL maybe either local at the secondary memory 134 or remote at any of the Websever computers 104, including the same Web server computer at which itmay have originally been located.

In this way, a user can customize an already existing GUI by addingand/or removing operations to and/or from certain existing GUI Webdocuments 150. This is done by adding and/or removing applets 156 fromthese GUI Web documents and adding and removing links 158 from the GUIWeb documents which are linked to the modified GUI Web documents. Theremoved links may identify the URLs of the original GUI Web documentsthat were modified while the added links may identify the new URLs ofthe modified GUI Web documents.

A user could also customize the GUI by adding to it new GUI Webdocuments 150 that add new operations to the GUI and/or by removingexisting GUI Web documents from the GUI so as to remove some of theoperations of the GUI. This would be done by adding links 158 to any GUIWeb documents which are to be linked to a new GUI Web document and/orremoving links from any GUI Web documents which were previously linkedto a removed GUI Web document.

While the present invention has been described with reference to a fewspecific embodiments, the description is illustrative of the inventionand is not to be construed as limiting the invention. Variousmodifications may occur to those skilled in the art without departingfrom the true spirit and scope of the invention as defined by theappended claims.

What is claimed is:
 1. A Web document based GUI (graphical userinterface) for use on a client computer that is networked with servercomputers, the GUI comprising:GUI Web documents that collectively enablea user of the client computer to initiate specific operations which areperformed on the client computer and collectively define an entireapplication which is executed on the client computer, each of the GUIWeb documents being located at the client computer or one of the servercomputers and comprising:one or more links, each of the one or morelinks providing a link to a corresponding one of the GUI Web documentswhen (a) the link is selected by the user with the client computer and(b) while the link is being displayed on the client computer; one ormore applets, each of the one or more applets (a) generating acorresponding interactive image that is displayed on the client computerwhen the applet is executed and (b) being invoked to perform acorresponding one of the specific operations when the user acts on thecorresponding interactive image with the client computer; and a Webbrowser that runs on the client computer and that, each time a selectedone of the one or more links of a displayed one of the GUI Web documentshas been selected by the user with the client computer, (a) loads, ifnot already loaded, the corresponding GUI Web document in the clientcomputer, (b) displays the corresponding GUI Web document on the clientcomputer by (i) executing each of the one or more applets of thecorresponding GUI Web document on the client computer and displaying thecorresponding interactive image on the client computer, and (ii)displaying the one or more links of the corresponding GUI Web documenton the client computer, and (c) invokes one of the one or more appletsof the corresponding GUI Web document to perform the correspondingspecific operation when the user acts on the corresponding interactiveimage with the client computer.
 2. The GUI of claim 1 wherein the GUIWeb documents are HTML Web documents and those of the GUI Web documentslocated at the sever computers are loaded in the client computeraccording to the HTTP.
 3. The GUI of claim 1 wherein:the one or moreapplets of each of the GUI Web documents are written in a platformindependent programming language; and the Web browser includes a virtualmachine module that, each time a particular one of the GUI Web documentsis loaded in the client computer, verifies the integrity of, interprets,and then executes on the client computer the one or more applets of theparticular GUI Web document.
 4. The GUI of claim 3 wherein the platformindependent programming language is the Java programming language andthe virtual machine module is a Java virtual machine module.
 5. The GUIof claim 1 wherein the Web browser comprises:an editor that enables theuser to edit a selected one of the GUI Web documents on the clientcomputer to generate a modified one of the GUI Web documents; a loadmanager that (a) loads the selected GUI Web document in the clientcomputer, and (b) locates the modified GUI Web document at the clientcomputer or one of the server computers so as to replace the selectedGUI Web document.
 6. The GUI of claim 5 wherein the editor enables theuser to edit the selected GUI Web document by adding an applet to theone or more applets of the selected GUI Web document.
 7. The GUI ofclaim 5 wherein the editor enables the user to edit the selected GUI Webdocument by removing one of the one or more applets of the selected GUIWeb document.
 8. The GUI of claim 5 wherein the editor enables the userto edit the selected GUI Web document by adding a link to the one ormore links of the selected GUI Web document, the added link providing alink to a new one of the GUI Web documents that was added or is amodified one of the GUI Web documents.
 9. The GUI of claim 5 wherein theeditor enables the user to edit the selected GUI Web document byremoving one of the one or more links of the selected GUI Web document,the removed link providing a link to a removed one of the GUI Webdocuments that was removed or replaced by a modified one of the GUI Webdocuments.
 10. A method of providing a Web document based GUI (graphicaluser interface) for use on a client computer that is networked withserver computers, the method comprising the steps of:providing GUI Webdocuments that collectively enable a user of the client computer toinitiate specific operations which are performed on the client computerand collectively define an entire application which is executed on theclient computer, each of the GUI Web documents being located at theclient computer or one of the server computers and comprising:one ormore links, each of the one or more links providing a link to acorresponding one of the GUI documents when (a) the link is selected bythe user with the client computer and (b) while the link is beingdisplayed on the client computer; one or more applets, each of the oneor more applets (a) generating a corresponding interactive image that isdisplayed on the client computer when the applet is executed and (b)being invoked to perform a corresponding one of the specific operationswhen the user acts on the corresponding interactive image with theclient computer; and each time a selected one of the one or more linksof a displayed one of the GUI Web documents has been selected by theuser with the client computer; loading, if not already loaded, thecorresponding GUI Web document in the client computerdisplaying thecorresponding GUI Web document on the client computer by (i) executingeach of the one or more applets of the corresponding GUI Web document onthe client computer and displaying the corresponding interactive imageon the client computer, and (ii) displaying the one or more links of thecorresponding GUI Web document on the client computer; and invoking oneof the one or more applets of the corresponding GUI Web document toperform the corresponding specific operation when the user acts on thecorresponding interactive image with the client computer.
 11. The methodof claim 10 wherein the GUI Web documents are HTML Web documents andthose of the GUI Web documents located at the sever computers are loadedin the client computer according to the HTTP.
 12. The method of claim 10whereinthe one or more applets of each of the GUI Web documents arewritten in a platform independent programming language; and theexecuting step includes, each time a particular one of the GUI Webdocuments is loaded in the client computer, verifying the integrity of,interpreting, and then executing on the client computer the one or moreapplets of the particular GUI Web document with a virtual machinemodule.
 13. The method of claim 12 wherein the platform independentprogramming language is the Java programming language and the virtualmachine module is a Java virtual machine module.
 14. The method of claim10 further comprising the steps of:enabling the user to edit a selectedone of the GUI Web documents on the client computer to generate amodified one of the GUI Web documents; loading the selected GUI Webdocument in the client computer; and locating the modified GUI Webdocument at the client computer or one of the server computers so as toreplace the selected GUI Web document.
 15. The method of claim 14wherein the enabling step includes enabling the user to edit theselected GUI Web document by adding an applet to the one or more appletsof the selected GUI Web document.
 16. The method of claim 14 wherein theenabling step includes enabling the user to edit the selected GUI Webdocument by removing one of the one or more applets of the selected GUIWeb document.
 17. The method of claim 14 wherein the enabling stepincludes enabling the user to edit the selected GUI Web document byadding a link to the one or more links of the selected GUI Web document,the added link providing a link to a new one of the GUI Web documentsthat was added or is a modified one of the GUI Web documents.
 18. Themethod of claim 14 wherein the enabling step includes enabling the userto edit the selected GUI Web document by removing one of the one or morelinks of the selected GUI Web document, the removed link providing alink to a removed one of the GUI Web documents that was removed orreplaced by a modified one of the GUI Web documents.
 19. In a computernetwork including server computers and a client computer that isnetworked with the server computers, a set of computer-readable modulessuitable for transmission over network interconnections, the set ofcomputer-readable modules providing a Web document based GUI (graphicaluser interface) for use on the client computer, the set ofcomputer-readable modules comprising:GUI Web documents that collectivelyenable a user of the client computer to initiate specific operationswhich are performed on the client computer and collectively define anentire application which is executed on the client computer, each of theGUI Web documents being located at the client computer or one of theserver computers and comprising:one or more links, each of the one ormore links providing a link to a corresponding one of the GUI documentswhen (a) the link is selected by the user with the client computer and(b) while the link is being displayed on the client computer; one ormore applets, each of the one or more applets (a) generating acorresponding interactive image that is displayed on the client computerwhen the applet is executed and (b) being invoked to perform acorresponding one of the specific operations when the user acts on thecorresponding interactive image with the client computer; and a Webbrowser that runs on the client computer and that, each time a selectedone of the one or more links of a displayed one of the GUI Web documentshas been selected by the user with the client computer, (a) loads, ifnot already loaded, the corresponding GUI Web document in the clientcomputer, (b) displays the corresponding GUI Web document on the clientcomputer by (i) executing each of the one or more applets of thecorresponding GUI Web document on the client computer and displaying thecorresponding interactive image on the client computer, and (ii)displaying the one or more links of the corresponding GUI Web documenton the client computer, and (c) invokes one of the one or more appletsof the corresponding GUI Web document to perform the correspondingspecific operation when the user acts on the corresponding interactiveimage with the client computer.
 20. The set of computer-readable modulesof claim 19 wherein the GUI Web documents are HTML Web documents andthose of the GUI Web documents located at the sever computers are loadedin the client computer according to the HTTP.
 21. The set ofcomputer-readable modules of claim 19 wherein:the one or more applets ofeach of the GUI Web documents are written in a platform independentprogramming language; and the Web browser includes a virtual machinemodule that, each time a particular one of the GUI Web documents isloaded in the client computer, verifies the integrity of, interprets,and then executes on the client computer the one or more applets of theparticular GUI Web document.
 22. The set of computer-readable modules ofclaim 21 wherein the platform independent programming language is theJava programming language and the virtual machine module is a Javavirtual machine module.
 23. The set of computer-readable modules ofclaim 19 wherein the Web browser comprises:an editor that enables theuser to edit a selected one of the GUI Web documents on the clientcomputer to generate a modified one of the GUI Web documents; a loadmanager that (a) loads the selected GUI Web document in the clientcomputer, and (b) locates the modified GUI Web document at the clientcomputer or one of the server computers so as to replace the selectedGUI Web document.
 24. The set of computer-readable modules of claim 23wherein the editor enables the user to edit the selected GUI Webdocument by adding an applet to the one or more applets of the selectedGUI Web document.
 25. The set of computer-readable modules of claim 23wherein the editor enables the user to edit the selected GUI Webdocument by removing one of the one or more applets of the selected GUIWeb document.
 26. The set of computer-readable modules of claim 23wherein the editor enables the user to edit the selected GUI Webdocument by adding a link to the one or more links of the selected GUIWeb document, the added link providing a link to a new one of the GUIWeb documents that was added or is a modified one of the GUI Webdocuments.
 27. The set of computer-readable modules of claim 23 whereinthe editor enables the user to edit the selected GUI Web document byremoving one of the one or more links of the selected GUI Web document,the removed link providing a link to a removed one of the GUI Webdocuments that was removed or replaced by a modified one of the GUI Webdocuments.